package com.hy.frame.common;

import android.view.View;

import androidx.annotation.DrawableRes;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;

/**
 * title ILoadingUI
 * author HeYan
 * time 19-7-12 上午11:35
 * desc 无
 */
public interface ILoadingUI {

    /**
     * 显示加载中
     */
    void show();

    /**
     * 显示加载中
     *
     * @param strId 文本资源ID
     */
    void show(@StringRes int strId);

    /**
     * 显示加载中
     *
     * @param msg 描述
     */
    void show(@Nullable CharSequence msg);

    /**
     * 显示没有数据或错误页
     *
     * @param strId 文本资源ID
     */
    void error(@StringRes int strId);

    /**
     * 显示没有数据或错误页
     *
     * @param msg 描述
     */
    void error(@Nullable CharSequence msg);

    /**
     * 显示没有数据或错误页
     *
     * @param strId  文本资源ID
     * @param drawId 图片资源ID
     */
    void error(@StringRes int strId, @DrawableRes int drawId);

    /**
     * 显示没有数据或错误页
     *
     * @param msg    描述
     * @param drawId 图片资源ID
     */
    void error(@Nullable CharSequence msg, @DrawableRes int drawId);

    /**
     * 隐藏
     */
    void hide();

    /**
     * 设置错误页点击事件
     *
     * @param listener View.OnClickListener
     */
    void setErrorClick(@Nullable View.OnClickListener listener);
}
